package org.example.demo1.dto;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.Instant;

/**
 * Jaeger 监控指标数据传输对象
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class JaegerMetricsDto {
    private long totalTraces; // 总追踪数
    private long errorTraces; // 错误追踪数
    private long avgDuration; // 平均耗时 (毫秒)
    private long servicesCount; // 服务数量
    private Instant lastUpdate; // 最后更新时间

    // 静态工厂方法，用于返回默认/空数据，避免前端报错
    public static JaegerMetricsDto empty() {
        return new JaegerMetricsDto(0, 0, 0, 0, Instant.now());
    }
}